#include<stdio.h>


// 用int中的不重复的一个bit，就可以标识一种状态
// 第1个比特位表示功能一，第二个比特位表示功能二，第三个比特位表示功能三
#define ONE 0x1   //0000 0001
#define TWO 0x2   //0000 0010
#define THREE 0x4 //0000 0100


void show(int flags)
{
  //哪个标志的比特位是1，就完成对应的功能
  if(flags & ONE) printf("功能ONE\n");
  if(flags & TWO) printf("功能TWO\n");
  if(flags & THREE) printf("功能THREE\n");
}

int main()
{
  show(ONE);   //选择功能1
  show(TWO);    //选择功能2
  show(ONE | TWO);   //选择功能1和2
  show(ONE | TWO | THREE);  //选择功能123
  return 0;
}
